//package com.datasource.dynamicdatasource.aspect;
//
//import com.datasource.dynamicdatasource.annotation.MyDataSource;
//import com.datasource.dynamicdatasource.config.DynamicDataSource;
//import org.aspectj.lang.JoinPoint;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Before;
//import org.aspectj.lang.annotation.Pointcut;
//import org.aspectj.lang.reflect.MethodSignature;
//import org.springframework.stereotype.Component;
//
//import java.lang.reflect.Method;
//
///**
// * @author sl
// *@Aspect 标识是一个切面
// */
//@Aspect
//@Component
//public class DatasourceAspect {
//
//    /**
//     * 切点规则
//     */
//    @Pointcut("@annotation(com.datasource.dynamicdatasource.annotation.MyDataSource)")
//    public void pointcut() {
//    }
//
//    @Before("pointcut()")
//    public void dataSourceAspect(JoinPoint joinPoint){
//        // 获取方法
//        Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
//
//        // 判断方法中是否添加了注解
//        if(method.isAnnotationPresent(MyDataSource.class)){
//            // 获取方法上的注解
//            MyDataSource annotation = method.getAnnotation(MyDataSource.class);
//
//            String value = annotation.value();
//            //  设置数据源
//            DynamicDataSource.nameFlag.set(value);
//        }
//    }
//}
